終於,在喝完冬至湯圓的隔天,R語言與機器學習見面會進入最後一個主題了,機器學習演算法。
已砍就:
準備砍就
記得我們在Day01時,曾淺淺的認識神秘的她:
一種讓機器從資料中學習而得到了預測未來的過程。
說起來這種過程很抽象,但學習到的能力卻很真實。 閉上眼慢慢回想一下,30年前還是嬰兒的我們是怎麼會走路的?
(哈!不要和我說,是喝了約翰走路,所以你會走直線)
是爸爸媽媽先教我:
左腳先支撐,右腳起步提腿,然後右小腿往前伸展落地,此時左腳墊步,接著換左腳交替循環的拆解式。
然後還要記得不要同手同腳?
還是我們長時間觀察了爸爸媽媽爺爺奶奶的姿勢,在腦海中有了印象而自我學習了控制腳步的方法,從而和神經系統結合走起路來,討了爸爸媽媽歡心。
控制腳步的方法就是一種人類的學習,而機器的學習則是讓機器觀察數據化的資料特徵,而中學習到了一種方法或能力,我們人類比較貪心,通常希望機器學習是未卜先知,有著預測未來的智慧,最好可以超越人類,進而在決策時提供正確的資訊,輔助人類進步。
記得自己去年在臉書上的po文:
中午和同事開車出去吃飯,開著車的同事叫我看路邊漂亮女主播,
副駕駛座的我還在找漂亮主播在那裡,同事又補上一句主播畫了妝真的很不一樣,
我才看到個人影兒,其他就剩黑黑咻過去的畫面,
嘆息了一下怎麼注意力這麼差這麼多。同事接著解釋著說,我們踢球的都要眼看四面耳聽八方,
觀察力很重要,這是有訓練過的。
連正妹雷達都輸人家,這時不知道該回什麼好,哈!同事繼續說,我這個經驗他太太也有,
每次在新竹看到檳榔西施,他都看得很清楚,可是他太太就會錯過,
默默的覺得,看路邊女主播的功力應該是看檳榔西施練習來的。
訓練量的確會讓正妹雷達能力有差異,但也許訓練量只要足夠建立起夠水準的模型就很完美了。
好,我們回來機器學習,那機器學習和常聽到的人工智慧(Artificial Intelligence)
有什麼差異?
人工智慧希望機器作出正確明智的行為,機器學習則是透過從歷史資料學習,提供可供正確明智決策的資訊,深度學習則是繼續強化決策資訊。
簡單畫一個圖來表達:
人工智慧的明智行動需要仰賴許多面向,包括機器學習的準確決策、實際行為的控制與反饋等。
那機器學習又有哪些分類?
最常見的分類是以訓練時有沒有標準答案來作區分,有答案的訓練就是監督式學習,反之就是非監督式學習。
監督式學習(Supervised Learning): 觀察了許多有標準答案的觀測值,訓練出模型對還沒有答案的觀測值做出預測。
Ex:我們收集了許多從車輛速度與實際煞車所需要的距離,接下來,我們就能依照模型用實際車輛速度預測煞車所需要的距離。
非監督式學習(Unsupervised Learning): 沒有標準答案,希望找出資料的內部構造、資料樣貌與資料間的分佈來建立模型。
Ex:金融機構對客戶作行銷時,依照客戶的資料特性分眾(segment)。
常見的機器學習演算法有三種類型:
監督式學習
非監督式
接下來的幾天,我們來複習幾種常用但比較簡單的機器學習演算法使用方法。
史丹利是機器學習的新手,很多觀念及演算法還在參悟ing階段,盡量先整理簡單的機器學習演算法操作和概念,如果想更深入學習,推薦大家幾個資源:
線上課程:
台灣大學資訊工程系林軒田老師 Coursera 線上課程
實體課程:
台大資訊系統訓練班 郭耀仁老師課程
書本課程:
Oreilly都有的買!
http://shop.oreilly.com/product/0636920018483.do
http://shop.oreilly.com/product/0636920035343.do
布拉格天文鐘與舊城廣場
2013.06攝於Praha,czech